﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MazeBuilder.Room.Expression
{
  //public abstract class BooleanExpression
  //{
  //  public abstract bool Evaluate(Context context);
  //  public abstract BooleanExpression Replace(char[] c, BooleanExpression expression);
  //  public abstract BooleanExpression Copy();
  //}

  //public class Context
  //{
  //  //public bool Lookup(char[] c);
  //  //public void Assign(VariableEpression expression, bool var);
  //}

  //public class VariableEpression: BooleanExpression
  //{
  //  private char[] _name;

  //  public VariableEpression(char[] c)
  //  {
  //    _name = c;
  //  }

  //  public override bool Evaluate(Context context)
  //  {
  //    return context.Lookup(_name);
  //  }

  //  public override BooleanExpression Copy() {
  //    return new VariableEpression(_name);
  //  }

  //  public override BooleanExpression Replace(char[] name, BooleanExpression expression)
  //  {
  //    return string.Equals(name, _name) ? expression.Copy() : new VariableEpression(_name);
  //  }
  //}
}
